package com.kly.service.pay;

import com.fqgj.common.api.Response;
import com.kly.req.RepayRequest;
import com.kly.req.RepayStatusRequest;
import com.kly.rsp.RepayResponse;
import com.kly.rsp.RepayStatusResponse;

/**
 * 资金流入服务类
 * @author linqu
 */
public interface GooglePayService {

    /**
     * 资金流入
     * @param repayRequest 支付入参
     * @param payOrderNo 支付订单号
     * @return
     */
    RepayResponse repay(String payOrderNo, RepayRequest repayRequest);

    /**
     * 资金入账结果
     */
    RepayStatusResponse repayStatusQuery(RepayStatusRequest repayStatusRequest);

    /**
     * 其它信息查询
     */
    String queryExtentInfo(RepayRequest repayRequest);

    /**
     * 取消订阅
     * @param packageName 软件包名称
     * @param subscriptionId 订阅的 ID
     * @param token 订阅时向用户设备提供的令牌
     * @return
     */
    Response<Boolean> cancelSubscription(String packageName, String subscriptionId, String token);

    /**
     * 确认订阅购买交易
     * @param packageName 软件包名称
     * @param subscriptionId 订阅的 ID
     * @param token 订阅时向用户设备提供的令牌
     * @return
     */
    Response<Boolean> acknowledgeSubscription(String packageName, String subscriptionId, String token);

}
